Formal Specification and Verification of ARM6

نویسنده

  • Anthony C. J. Fox
چکیده

The use of theorem proving for processor verification started to be investigated in the 1980s and has continued since then. Early work done by groups at Cambridge [3], Calgary [18, 14] and Austin [16] established feasibility on simple academic designs. Following this first phase, two threads of research emerged: continued study of academic designs with increasingly sophisticated execution engines [23, 21, 2], and the application of theorem proving to fragments of real processors [20, 17]. At the start of our project it was thus established that complete academic processors and parts of commercial processors could be formally verified by automated theorem proving. Our goal was to investigate whether it was feasible to completely verify a real-world commercial processor, and if so to calibrate the effort needed. After discussions with ARM Ltd we chose ARM610 [1] as our target. This processor is similar to the still widely used ARM7, but embodies less sensitive IP and so is appropriate for public domain research (all our formal models are available on the web). ARM6 has a 3-stage pipelined Von Neumann Architecture. The differences between it and ARM7 are that the latter has (i) a hardware debug capability, (ii) the ‘Thumb’ instruction architecture to support both 16-bit and 32-bit instruction formats and (iii) an enhanced multiplier. In parallel to the automated theorem proving research described above, a group lead by Tucker and Harman at the University of Wales Swansea were evolving a method of structuring processor specifications using algebraic concepts [4]. They also developed pencil-and-paper proof methods and, with a PhD student Anthony Fox, applied these to verify by hand superscalar implementations of Hennessey and Patterson’s widely used pedagogical DLX RISC processor [5, 13]. When the current project was funded, we recruited Fox as our postdoctoral research assistant, and it was thus natural to see if the Tucker/Harman approach was suitable for mechanisation. It turned out to work very well indeed, and this is the approach we ended up using to specify and verify ARM6. The project was a collaboration with Professor Graham Birtwistle’s group at the University of Leeds, who produced accurate functional simulation models of the ARM6 architecture in Standard ML. Dominic Pajak produced a specification of the ARM programmers view and Daniel Schostak produced a model of the micro-architecture [22] (a three-stage pipeline implementation). Both these models were validated by extensive testing. Pajak and Schostak spent

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Web Service Choreography Verification Using Z Formal Specification

Web Service Choreography Description Language (WS-CDL) describes and orchestrates the services interactions among multiple participants. WS-CDL verification is essential since the interactions would lead to mismatches. Existing works verify the messages ordering, the flow of messages, and the expected results from collaborations. In this paper, we present a Z specification of WS-CDL. Besides ve...

متن کامل

A model for specification, composition and verification of access control policies and its application to web services

Despite significant advances in the access control domain, requirements of new computational environments like web services still raise new challenges. Lack of appropriate method for specification of access control policies (ACPs), composition, verification and analysis of them have all made the access control in the composition of web services a complicated problem. In this paper, a new indepe...

متن کامل

Verifying the ARM Block Data Transfer Instructions

The hol-4 proof system has been used to formally verify the correctness of the ARM6 micro-architecture. This paper describes the specification and verification of one instructions class, block data transfers; these are a form of load-store instruction in which a set of up to sixteen registers can be transferred atomically. The ARM6 is a commercial RISC microprocessor that has been used extensiv...

متن کامل

Formal Method in Service Composition in Heath Care Systems

One of the areas with greatest needs having available information at the right moment and with high accuracy is healthcare. Right information at right time saves lives. Healthcare is a vital domain which needs high processing power for high amounts of data. Due to the critical and the special characteristics of these systems, formal methods are used for specification, description and verificati...

متن کامل

The unforeseen evolution of an ARM verification project

The story of how a project to formally verify an ARM processor evolved and changed focus over fifteen years is told here. I have tried to make the story accessible to a general audience: no detailed knowledge of formal verification or theorem proving is assumed. I hope to illustrate by example how long it can take for research to have any impact and the difficulty of predicting what the impact ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003